<template>
  <el-button type='green' size='medium' @click='download' icon="el-icon-download" :loading="loading">
    导出招标参数
  </el-button>
</template>

<script>
import { d_targetType } from '@/utils/dicts'
import { mapGetters } from 'vuex'
export default {
  name: 'ITVerifyExcel',
  props: {
  },
  data () {
    return {
      loading: false,
      d_targetType: d_targetType
    }
  },
  methods: {
    async download () {
      this.loading = true
      let res = await this.$http('blockEnsureList', {

      })

      // return false
      let time = new Date().getTime()
      let filename = this.user.company_name + ' ' + this.$util.formatDate(time, 'yyyy-MM-dd hh:mm:ss')
      import('@/utils/excel/Export2Excel').then(excel => {
        // 多表头
        const multiHeader = [
          // [
          //   '设备(系统名称)', '数量', '资产运行状态', '资产类型', '设备系统型号',
          //   '设备系统型号', '购置时间', '总购置价格', '过保时间', '制造商',
          //   '承建商', '服务内容', '服务分类', '总运维资金预算', '采购方式',
          //   '总购置价格', '第三方机构建议价格', '第三方机构审核意见', '运维开始时间', '运维结束时间'
          // ]
        ]

        // 表头
        const header = [
          '项目名称', '包组名称', '标的ID', '标的名称', '标的指标项Id',
          '指标项', '指标描述', '指标要求', '服务时间', '服务方式',
          '交付成果', '是否删除',
        ]
        // 处理格子，列名不能小写
        const merges = [
          // 'A1:A2'
        ]

        // 列宽 0开始
        const cWidth = [
          { c: 0, w: 20 },
          { c: 1, w: 20 },
          { c: 2, w: 20 },
          { c: 3, w: 20 },
          { c: 4, w: 20 },
          { c: 5, w: 20 },
          { c: 6, w: 20 },
          { c: 7, w: 20 },
          { c: 8, w: 20 },
          { c: 9, w: 20 },
          { c: 10, w: 10 },
          { c: 11, w: 20 },
          { c: 12, w: 10 },
        ]
        const cellStyle = {
          // '2' : {
          //     '0' : {
          //         wrapText: 1,
          //         horizontal: "right",
          //         vertical: "right",
          //     },
          // },
          // '3' : {
          //     wrapText: 1,
          //     horizontal: "left",
          //     vertical: "left",
          // }
        }

        let data = []
        res.forEach((item, index) => {

          let tmp = []
          tmp.push(item.project_name)
          tmp.push(item.package_name)
          tmp.push(item.parent_id)
          tmp.push(item.subject_name)
          tmp.push(item.id)
          tmp.push(item.target_index_params)
          tmp.push(item.target_desc_params)
          tmp.push(item.target_require_params)
          tmp.push(item.service_time_params)
          let serve_type = ''
          this.d_targetType.forEach(i => {
            if (i.value == item.service_method_params) {
              serve_type = i.label
            }
          })
          tmp.push(serve_type)
          tmp.push(item.service_result_params)
          tmp.push(item.del_flag ? '否' : '是')

          data.push(tmp)
        })
        const len = data.length || 0
        // 设置了一个合并的单元格
        // const a = 'A' + (len + 8) + ':' + 'AM' + (len + 20);
        // merges.push(a)

        // 字号
        let fontSize = [
          12
        ]
        // 循环遍历字号
        for (var i = 0; i < len; i++) {
          fontSize.push(10)
        }
        // 边框
        const border = [
          { style: 'thin', color: '#999' }
        ]

        for (var j = 0; j < len; j++) {
          border.push({ style: 'thin', color: '#099' })
        }
        excel.export_json_to_excel({
          multiHeader,
          header,
          merges,
          data,
          cWidth,
          rowCount: 1,
          fontSize,
          border,
          cellStyle,
          filename
        })

        this.loading = false
      })
    }
  },
  computed: {
    ...mapGetters([
      'user'
    ])
  }
}
</script>

<style scoped>
</style>
